#include "tests.h"
#include "commun/utilise_sdl.h"
#include "temps/chronometre.h"
#include "temps/minuterie.h"
#include "interface/interface.h"
#include "interface/surface_image.h"
#include "interface/surface_immaterielle.h"
#include "interface/surface_texte.h"
#include "interface/texte_editable.h"
#include "interface/bouton_poussoir.h"
#include <iostream>
#include <string>

void temps_affichage() {
	module_sdl lancer_sdl;
	module_interface mon_interface;
	
	surface_image fond("fond_1.png");
	surface_texte txt("Coucou les amis", false, 10, 40);
	texte_editable<valider_adresses_et_hotes> montxt("", true, 10, 60);
	surface_image btncnx("bouton_connexion.png", 100, 80);
	surface_immaterielle zone_quitter(10, 113, 34, 34);
	bouton_poussoir<> presser_pour_quitter(zone_quitter);
	//bouton_poussoir<changer_le_fond_de_couleur> btn(btncnx, changer_le_fond_de_couleur(fond));
	
	avec_attente<20> attendre_un_peu;
	attendre_un_peu.operator()();
	
	moyenneur_temps mt;
	do {
		attendre_un_peu();
		chronometre<moyenneur_temps> boucle_affichage(mt);
		mon_interface.actualiser_affichage();
		mon_interface.traiter_evenements();
	} while(!mon_interface.doit_quitter() && !presser_pour_quitter());
	
	std::cout << "Moyenne du temps d'affichage et de traitement des événements : " << (double)mt << "ms (" << mt.nb_echantillons() << " échantillons)." << std::endl;
}
